using System; 
using System.Collections.Generic; 
using System.Text;

using FSM.Model;

namespace FSM.IBll
{ 
    public interface ITbCompanyBll 
    { 
        #region 查询 
        /// <summary> 
        /// 根据键值查询单个信息 
        /// </summary> 
        /// <param name="company_no">键值</param> 
        /// <returns></returns> 
        tb_company Get(string company_no); 
 
        /// <summary> 
        /// 分页查询批量信息 
        /// </summary> 
        /// <param name="company_no">公司编号</param> 
        /// <param name="company_name">公司名称</param> 
        /// <param name="page">页码</param> 
        /// <param name="page_size">每页显示的条数</param> 
        /// <returns></returns> 
        Tuple<List<tb_company>, int> ListPagin(string company_no, string company_name, int page, int page_size); 
 
        /// <summary> 
        /// 查询批量信息 
        /// </summary> 
        /// <param name="company_no">公司编号</param> 
        /// <param name="company_name">公司名称</param> 
        /// <returns></returns> 
        List<tb_company> List(string company_no, string company_name);

        /// <summary>
        /// 根据关键字查询公司信息
        /// </summary>
        /// <param name="keywords">关键字</param>
        /// <returns></returns>
        List<tb_company> ListByKeywords(string keywords);
        #endregion

        #region 提交 
        /// <summary> 
        /// 添加当前列表数据 
        /// </summary> 
        /// <param name="model">实体</param> 
        /// <returns></returns> 
        bool Insert(tb_company model); 
 
        /// <summary> 
        /// 更新当前列表数据 
        /// </summary> 
        /// <param name="model">实体</param> 
        /// <returns></returns> 
        bool Update(tb_company model); 
 
        /// <summary> 
        ///  删除当前列表数据 
        /// </summary> 
        /// <param name="company_no_arr">键值</param> 
        /// <returns></returns> 
        bool Delete(params string[] company_no_arr); 
 
        /// <summary> 
        /// 获得要导出的数据的Excel字节 
        /// </summary> 
        /// <param name="company_no">公司编号</param> 
        /// <param name="company_name">公司名称</param> 
        /// <returns></returns> 
        byte[] Export(string company_no, string company_name); 
        #endregion 
    } 
} 
